Enviado em 12/03/2012 - 18:57h
Boa noite gente,
<?php
if ($argc != 3) {
print "USO: php tratamento_final.php <arquivo de log insercao> <relatorio dos nao inseridos> \n\n";
exit(0);
}
ini_set("auto_detect_line_endings", true);
$log = fopen($argv[1], "r") or die($argv[1]." está inacessivel.");
$relatorio = file_get_contents($argv[2]) or die($argv[2]." está inacessivel.");
if ($log && $relatorio) {
while (!feof($log)) {
$linha = fgets($log, 4096);
//busca por erro de parametro
$busca = strpos($linha, "ERROR");
if ($busca) {
$erro = str_replace("\r\n",";",trim(strstr($linha, "Erro nos parametros")));
$dslam = substr(strstr($linhaAnterior, "DSLAM: "), 7, 15);
$porta = substr(strstr($linhaAnterior, "Porta: "), 7, 11);
$relatorio = str_replace($dslam.";".$porta.";1;1;;", $dslam.";".$porta.";1;1;;".$erro, $relatorio);
file_put_contents($argv[2], $relatorio);
}
//busca por erro de TransactionException
$busca = strpos($linha, "TransactionException");
if ($busca) {
$codErro = "-4";
$erro = str_replace("\r\n",";",trim(strstr($linha, "Erro WDT:")));
$dslam = substr(strstr($linhaAnterior, "DSLAM: "), 7, 15);
$porta = substr(strstr($linhaAnterior, "Porta: "), 7, 11);
$relatorio = str_replace($dslam.";".$porta.";1;1;;", $dslam.";".$porta.";1;1;".$codErro.";".$erro, $relatorio);
file_put_contents($argv[2], $relatorio);
}
//busca por erro 301
$busca = strpos($linha, "Falha ao consultar DSLAM");
if ($busca) {
$codErro = "-4";
$erro = str_replace("\r\n",";",trim(strstr($linha, "Erro WDT:")));
$dslam = substr(strstr($linhaAnterior, "DSLAM: "), 7, 15);
$porta = substr(strstr($linhaAnterior, "Porta: "), 7, 11);
$relatorio = str_replace($dslam.";".$porta.";1;1;;", $dslam.";".$porta.";1;1;".$codErro.";".$erro, $relatorio);
file_put_contents($argv[2], $relatorio);
}
$linhaAnterior = $linha;
}
}
?>
Kernel 6.18 em foco, betas fervilhando e avanços em IA no Linux
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
intervenção politica pode interver no Fedora Linux [RESOLVIDO] (13)
Como colocar atalho para uma pasta na área de trabalho do Ubuntu 24.04... (0)